﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Entity = SoTaiChinh.Library.Entity;
using Business = SoTaiChinh.Library.Business ;
using Common = SoTaiChinh.Library.Common.Algorithm ;
using System.IO;


public partial class templates_admin_usercontrols_addcanbo : System.Web.UI.UserControl
{
    Business.CanBo clsB_CanBo = new Business.CanBo();
    Entity.CanBo clsE_CanBo = new Entity.CanBo();
    Entity.ChucVu clsE_ChucVu = new SoTaiChinh.Library.Entity.ChucVu();
    Business.ChucVu clsB_ChucVu = new SoTaiChinh.Library.Business.ChucVu();
    Entity.PhongBan clsE_PhongBan = new SoTaiChinh.Library.Entity.PhongBan();
    Business.PhongBan clsB_PhongBan = new SoTaiChinh.Library.Business.PhongBan();
    private static DataTable dsCanBo = new DataTable();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Alert.Load_DropDownList(ddlChucVu, clsB_ChucVu.Select(clsE_ChucVu), "TenChucVu", "IdChucVu", "------Chọn chức vụ------");
            Alert.Load_DropDownList(ddlPhongBan, clsB_PhongBan.Select(clsE_PhongBan), "TenPhong", "IdPhong", "------Chọn phòng ban------");
            phongban.Visible = false;
            LoadCanBo();          
        } 
       
    }
    private void LoadCanBo()
    {
        string action = Request.QueryString["action"].ToString();
        if (action == "add")
        {
            setVisibleHinhAnh(true);
            setVisibleNgaySinh(false);
            lbTitle.Text = "Thêm cán bộ";
            txtMoTaNhiemVu.Value = "";
            
        }
        if (action == "edit")
        {
            setVisibleHinhAnh(false);
            setVisibleNgaySinh(true);
            lbTitle.Text = "Sửa thông tin cán bộ";
            int info = Convert.ToInt32(Request.QueryString["info"].ToString());
            clsE_CanBo.IdNV = info;
            DataTable dscb = clsB_CanBo.SelectPrimarykey(clsE_CanBo);
            txtTenNV.Text = dscb.Rows[0]["TenNV"].ToString();
            txtNgaySinh.Text = dscb.Rows[0]["NgaySinh"].ToString();
            txtDiaChi.Text = dscb.Rows[0]["DiaChi"].ToString();
            txtSoDienThoai.Text = dscb.Rows[0]["SoDienThoai"].ToString();
            txtEmail.Text = dscb.Rows[0]["Email"].ToString();
            txtMoTaNhiemVu.Value = dscb.Rows[0]["MoTaNhiemVu"].ToString();
            ImageButton1.ImageUrl = "~/uploads/hinhanhcanbo/" + dscb.Rows[0]["HinhAnh"].ToString();
            txtTrinhDoChuyenMon.Text = dscb.Rows[0]["TrinhDoChuyenMon"].ToString();
            ddlPhongBan.SelectedValue = dscb.Rows[0]["IdPhong"].ToString();
            ddlChucVu.SelectedValue = dscb.Rows[0]["IdChucVu"].ToString();
            TextBox1.Text = dscb.Rows[0]["HinhAnh"].ToString(); 
        }
           
    }   
    private void setVisibleNgaySinh(bool set)
    {
        txtNgaySinh.Visible = set;
        bdpngaysinh.Visible = !set;
        Button1.Visible = set;
    }
    private void setVisiblePhongBan(bool set)
    {
        btthem.Visible = !set;
        btxoa.Visible = !set;
        ddlPhongBan.Visible = !set;
        btluu.Visible = set;
        btnTroVePB.Visible = set;
        phongban.Visible = set;
        divcanbo.Visible = !set;
        hinhanh.Visible = !set;
    }
    private void setVisibleChuVu(bool set)
    {
        btthemcv.Visible = !set;
        btxoacv.Visible = !set;
        ddlChucVu.Visible = !set;
        btluucv.Visible = set;
        btnTroVeCV.Visible = set;
        txtcvu.Visible = set;
    }
    protected void btnQuayLai_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/admin/listcanbo.aspx");
    }
    protected void btnLuu_Click(object sender, EventArgs e)
    {
        try
        {
            string action = Request.QueryString["action"].ToString();
            int info = Convert.ToInt32(Request.QueryString["info"].ToString());
            string str = "";
            str = Server.MapPath("~/uploads/hinhanhcanbo/");
            txtHinhAnh.SaveAs(str + txtHinhAnh.FileName);
            //Nếu là sửa
            if (action == "edit")
                {
                    if (txtHinhAnh.FileName == "")
                    {
                        str = Server.MapPath("~/uploads/hinhanhcanbo/");
                        txtHinhAnh.SaveAs(str + txtHinhAnh.FileName);
                        File.Delete(Server.MapPath("~/uploads/hinhanhcanbo/" + TextBox1.Text));
                        clsE_CanBo.HinhAnh = txtHinhAnh.FileName;
                    }
                    else
                    {
                        clsE_CanBo.HinhAnh = TextBox1.Text;
                    }
                    if (txtNgaySinh.Visible == false)
                    {
                        clsE_CanBo.NgaySinh = bdpngaysinh.Text;
                    }
                    else
                    {
                        clsE_CanBo.NgaySinh = txtNgaySinh.Text;
                    }
                    bool save = false;
                    clsE_CanBo.IdNV = info;
                    clsE_CanBo.TenNV = txtTenNV.Text;                    
                    clsE_CanBo.DiaChi = txtDiaChi.Text;
                    clsE_CanBo.SoDienThoai = txtSoDienThoai.Text;
                    clsE_CanBo.Email = txtEmail.Text;
                    clsE_CanBo.MoTaNhiemVu = txtMoTaNhiemVu.Value;                    
                    clsE_CanBo.TrinhDoChuyenMon = txtTrinhDoChuyenMon.Text;
                    clsE_CanBo.IdPhong  = Convert.ToInt32(ddlPhongBan.SelectedValue);
                    clsE_CanBo.IdChucVu = Convert.ToInt32(ddlChucVu.SelectedValue);
                    save = clsB_CanBo.Update(clsE_CanBo);
                    if (save == true)
                    {
                        Alert.Show("Sửa thông tin cán bộ thành công !!!");
                    }
                    else
                    {
                        Alert.Show("Sửa thông tin cán bộ không thành công !!!");                        
                        return;
                    }
                }                
            
            //Nếu là thêm
            else 
                if (action == "add")
               {                                 
                    bool save = false;
                    clsE_CanBo.IdNV = info;
                    clsE_CanBo.TenNV = txtTenNV.Text;
                    clsE_CanBo.NgaySinh =bdpngaysinh.Text;
                    clsE_CanBo.DiaChi = txtDiaChi.Text;
                    clsE_CanBo.SoDienThoai = txtSoDienThoai.Text;
                    clsE_CanBo.Email = txtEmail.Text;
                    clsE_CanBo.MoTaNhiemVu = txtMoTaNhiemVu.Value ;
                    clsE_CanBo.HinhAnh = txtHinhAnh.FileName  ;
                    clsE_CanBo.TrinhDoChuyenMon = txtTrinhDoChuyenMon.Text;
                    clsE_CanBo.IdPhong  = Convert.ToInt32(ddlPhongBan.SelectedValue);
                    clsE_CanBo.IdChucVu = Convert.ToInt32(ddlChucVu.SelectedValue);
                    save = clsB_CanBo.Insert (clsE_CanBo);
                    if (save == true)
                    {
                        Alert.Show("Thêm mới cán bộ thành công !!!");
                        Response.Redirect(Request.Url.ToString());
                    }
                    else
                    {
                        msgError.Style.Add("display", "block");
                        msgSuccess.Style.Add("display", "none");
                        Alert.Show("Thêm mới cán bộ không thành công !!!");                       
                        return;
                    }
                }
                else
                {
                    
                    return;
                }
            }
        
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void setVisibleHinhAnh(bool set)
    {
        uploadhinh.Visible = set;
        ImageButton1.Visible = !set;
 
    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        setVisibleHinhAnh(true);
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        bdpngaysinh.Visible = true;
        txtNgaySinh.Visible = false;
        Button1.Visible = false;
    }
    protected void btthem_Click(object sender, EventArgs e)
    {
        setVisiblePhongBan(true);
    }
    protected void btluu_Click(object sender, EventArgs e)
    {       
        try
        {
            bool save=false;
            clsE_PhongBan.TenPhong  = txtpban.Text;
            clsE_PhongBan.NhiemVu = txtMoTaNhiemVu.Value;
            save=clsB_PhongBan.Insert(clsE_PhongBan);
            if (save == true)
            {
                Alert.Show("Thêm mới phòng ban thành công !!");                
                Alert.Load_DropDownList(ddlPhongBan, clsB_PhongBan.Select(clsE_PhongBan), "TenPhong", "IdPhong", "------Chọn phòng ban------");                         
                setVisiblePhongBan(false);
                LoadCanBo();
            }
            else
            {
                Alert.Show("Thêm mới phòng ban không thành công !!");          
                return;
            }

        }
        catch(Exception ex)
        {
            throw ex;
        }

    }
    protected void btxoa_Click(object sender, EventArgs e)
    {
        try
        {
            bool delete = false;
            if (ddlPhongBan.SelectedValue != "0")
            {
                clsE_PhongBan.IdPhong = Convert.ToInt32(ddlPhongBan.SelectedValue);                
                delete = clsB_PhongBan.Delete(clsE_PhongBan);
                if (delete)
                {
                    Alert.Show("Xóa phòng ban thành công!");
                }
                else
                { Alert.Show("Xóa phòng ban không thành công!"); }
                Alert.Load_DropDownList(ddlPhongBan, clsB_PhongBan.Select(clsE_PhongBan), "TenPhong", "IdPhong", "------Chọn phòng ban------");                
            }
            else
            { Alert.Show("Bạn chưa chọn phòng ban cần xóa !"); }
        }
        catch
        {}
        
    }

    protected void btthemcv_Click(object sender, EventArgs e)
    {
        setVisibleChuVu(true);
    }
    protected void btluucv_Click(object sender, EventArgs e)
    {
        try
        {
            bool save = false;           
            clsE_ChucVu.TenChucVu = txtcvu.Text;
            save = clsB_ChucVu.Insert(clsE_ChucVu);
            if (save == true)
            {
                Alert.Show("Thêm mới chức vụ thành công");
                Alert.Load_DropDownList(ddlChucVu, clsB_ChucVu.Select(clsE_ChucVu), "TenChucVu", "IdChucVu", "------Chọn chức vụ------");
                setVisibleChuVu(false);
            }
            else
            {
                Alert.Show("Thêm mới chức vụ không thành công");
               
                return;
            }

        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    protected void btxoacv_Click(object sender, EventArgs e)
    {
        try
        {
            bool delete = false;
            if (ddlChucVu.SelectedValue != "0")
            {
                clsE_ChucVu.IdChucVu = Convert.ToInt32(ddlChucVu.SelectedValue);                
                delete = clsB_ChucVu.Delete(clsE_ChucVu);
                if (delete)
                {
                    Alert.Show("Xóa chức vụ thành công!");
                    Alert.Load_DropDownList(ddlChucVu, clsB_ChucVu.Select(clsE_ChucVu), "TenChucVu", "IdChucVu", "------Chọn chức vụ------");                    
                }
                else
                { Alert.Show("Xóa chức vụ không thành công!"); }
            }
            else
            {Alert.Show("Bạn chưa chọn chức vụ cần xóa");}
        }
        catch
        { }
    }

    protected void btnTroVePB_Click(object sender, EventArgs e)
    {
        setVisiblePhongBan(false);
        LoadCanBo();
    }
    protected void btnTroVeCV_Click(object sender, EventArgs e)
    {
        setVisibleChuVu(false);
    }
}
